The present invention relates generally to computer systems and more specifically to checking for software conflicts using configuration images.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright(copyright) 1997, 1998 LANOVATION, All Rights Reserved.
This application is related to a co-filed and co-assigned U.S. patent application entitled xe2x80x9cSoftware Distribution, Error Detection and Repair Systemxe2x80x9d Ser. No. 09/136,905.
Installing or upgrading software frequently causes unnecessary duplication of files on a target computer. Installing or upgrading software also frequently causes a previously installed version of a file or a previously installed value of a registry key to be overwritten with a different version or a different value.
Duplicate files result in wasted space on a computer""s hard disk. In addition, because some files, such as system files, are frequently shared among two or more application programs, duplicate files result in uncertainty for a user of which instance of the file is loaded when the application program is launched. Overwriting a file or registry value causes problems for a user if an application on the target computer requires the particular version of the file or the registry value that was overwritten. Overwriting a file or registry value also causes problems if the application on the target computer is incompatible with the version of the file or registry value installed.
System files, special system setup text files and program files are often duplicated or overwritten when software is installed or upgraded. A system file is a binary file used by a Windows operating system. Example system files include files ending with the extensions .dll, .sys, and .drv. Special system setup text files are files such as a menu file (for example the file that contains the xe2x80x9cStartxe2x80x9d menu or the xe2x80x9cDesktopxe2x80x9d menu), an autoexec.bat file, a config.sys file, and files that end in .ini. A program file is a file that executes a computer application. Example program files include files ending with the extensions .exe and .com.
Such problems caused by installing or upgrading software are difficult to predict, difficult to prevent from occurring, and difficult to identify when the problems do occur. Such problems result in lost productivity of a computer user and wasted time on the part of an administrator trying to identify the problems. Methods currently available for finding file conflicts only identify conflicting files after a problem occurs on a computer and no methods currently exist to identify or prevent conflicting registry values.
Therefore, there is a need for a system to identify files and registry values that will be overwritten during a software installation or upgrade before the installation or upgrade is performed. There is also a need for a system to prevent unnecessary duplication of files during a software installation or upgrade.
The above-identified shortcomings as well as other shortcomings are addressed by the present invention, which will be understood by reading and studying the following specification. The invention is a computerized system which identifies conflicts existing between two or more configuration image files.
A configuration image file is a single file containing all the information needed to troubleshoot, distribute, or delete software on one or multiple computers. Information contained in a configuration image file can be a file of any type or a registry setting. Each file and registry setting in a configuration image file is referred to as an entry. A conflict exists when one or more configuration image files include entries that are inconsistent.
One version of the conflict checking system of the present invention identifies folder conflicts. A folder conflict occurs when the same entry exists in different folders of one or more configuration image files. Installing the configuration image file or files containing the same entry results in duplicate copies of the entry on the target computer. Another version of the conflict checking system identifies version conflicts. A version conflict occurs when different versions of the same entry exist in the same location within two configuration image files. Installing the configuration image files containing different versions of the same entry results in one of the versions of the file being overwritten by the other version of the file. Still another version of the conflict checking system identifies registry conflicts. A registry conflict occurs when two registry values have the same name and belong to the same registry key, but have different data.
The conflict checking system detects conflicts within configuration image files associated with a computer before software is installed. The conflict checking system can also detect conflicts between a configuration image and a current state of a target computer. As a result, file version conflicts, registry value conflicts, and unnecessary duplication of files are avoided. In different embodiments of the invention, computers, computerized systems, application programs, methods and computer-readable media of varying scope are described. Still other and further embodiments, aspects and advantages of the invention will become apparent by reference to the drawings and by reading the following detailed description.